package com.cm.structural.decorator;

/**
 * 装饰器设计模式是一种常用的设计模式，它允许在不改变原有对象结构的情况下，动态地增加对象的行为或责任。
 * 动态地给一个对象添加一些额外的职责，就增加功能来说，装饰模式比生成子类更为灵活。装饰模式属于结构型模式，它是作为现有的类的一个包装。
 * @author cm.g
 * @date 2023/9/9 17:01
 */
public class TestMain {
    public static void main(String[] args) {
        SimCard chinaMobileSimCard = new ChinaMobileSimCard();
//        chinaMobileSimCard.addAdditionalBusiness();
        // 装饰来电显示
        chinaMobileSimCard = new CallerIdBusinessDecorator(chinaMobileSimCard);
//        chinaMobileSimCard.addAdditionalBusiness();
        // 装饰加量流量包
        chinaMobileSimCard = new Add10GFlowPacketBusinessDecorator(chinaMobileSimCard);
        chinaMobileSimCard.addAdditionalBusiness();
    }
}
